home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / PowerPlant / UGetMultipleFiles 1.4 / patch.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-07-24  |  982 b   |  37 lines  |  [TEXT/CWIE]

  1. #pragma once
  2.  
  3. enum {
  4.     kInstall = 0,
  5.     kRemove = 1
  6. };
  7.  
  8. typedef pascal void (*PatchRouterProcPtr)(short remove, ListHandle* listaddres);
  9.  
  10. #if GENERATINGCFM
  11. typedef UniversalProcPtr PatchRouterUPP;
  12. #else
  13. typedef PatchRouterProcPtr PatchRouterUPP;
  14. #endif
  15.  
  16. enum {
  17.     uppPatchRouterProcInfo = kPascalStackBased
  18.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(short)))
  19.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(ListHandle*)))
  20. };
  21.  
  22. #if GENERATINGCFM
  23. #define NewPatchRouterProc(userRoutine)        \
  24.         (PatchRouterUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppPatchRouterProcInfo, kM68kISA)
  25. #else
  26. #define NewPatchRouterProc(userRoutine)        \
  27.         ((PatchRouterUPP) (userRoutine))
  28. #endif
  29.  
  30. #if GENERATINGCFM
  31. #define CallPatchRouterProc(userRoutine, remove, listaddres)        \
  32.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppPatchRouterProcInfo, (remove), (listaddres))
  33. #else
  34. #define CallPatchRouterProc(userRoutine, remove, listaddres)        \
  35.         (*(userRoutine))((remove), (listaddres))
  36. #endif
  37.